package com.audaque.springboot.foshanupload.web.mpdemo.mpgt.api;


import com.audaque.springboot.foshanupload.core.model.qo.BaseQo;
import com.audaque.springboot.foshanupload.core.model.qo.page.Page;
import com.audaque.springboot.foshanupload.web.mpdemo.mpgt.model.pojo.SysUserMpgtPojo;
import com.audaque.springboot.foshanupload.web.mpdemo.mpgt.model.req.SysUserMpgtReq;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;


/**
 * <p>
 * 用户信息表
 * </p>
 *
 * @author zgb
 * @since 2023-03-01
 */


@RequestMapping("mpgt/sysUser")
//@FeignClient((contextId = "com.audaque.springboot.foshanupload.web.mpdemo.mpgt.api.SysUserMpgtApi", name = "foshanupload-mpdemo-mpgt",url="",contextId = "sysUserMpgtApi")
@Tag(name = "foshanupload/mpdemo/mpgt/SysUserMpgtApi", description = "用户信息表 生成模块")

public interface SysUserMpgtApi {


    @Operation(summary = "新增用户信息表")
    @RequestMapping(value = "/insert.do", method = {RequestMethod.POST})
    @ResponseBody
    public String insert(@RequestBody SysUserMpgtPojo pojo) throws Exception;

    @Operation(summary = "批量新增用户信息表")
    @RequestMapping(value = "/insertBatch.do", method = {RequestMethod.POST})
    @ResponseBody
    public String insertBatch(@RequestBody List<SysUserMpgtPojo> pojoList) throws Exception;

    @Operation(summary = "修改用户信息表")
    @RequestMapping(value = "/update.do", method = {RequestMethod.POST})
    @ResponseBody
    public void update(@RequestBody SysUserMpgtPojo pojo) throws Exception;

    @Operation(summary = "删除用户信息表")
    @RequestMapping(value = "/delete.do", method = {RequestMethod.POST})
    @ResponseBody
    public void delete(@RequestBody BaseQo baseQo) throws Exception;


    @Operation(summary = "分页查询!{table.comment}")
    @RequestMapping(value = "/queryAndCount.do", method = {RequestMethod.POST})
    @ResponseBody
    public Page<SysUserMpgtPojo> queryAndCount(@RequestBody SysUserMpgtReq req) throws Exception;


    @Operation(summary = "列表查询!{table.comment}")
    @RequestMapping(value = "/findList.do", method = {RequestMethod.POST})
    @ResponseBody
    public List<SysUserMpgtPojo> findList(@RequestBody SysUserMpgtReq req) throws IllegalAccessException;

    @Operation(summary = "单体查询!{table.comment}")
    @RequestMapping(value = "/queryItem.do", method = {RequestMethod.POST})
    @ResponseBody
    public SysUserMpgtPojo queryItem(@RequestBody SysUserMpgtReq req) throws IllegalAccessException;

    @Operation(summary = "主键查询!{table.comment}")
    @RequestMapping(value = "/queryItemByPrimaryKey.do", method = {RequestMethod.POST})
    @ResponseBody
    public SysUserMpgtPojo queryItemByPrimaryKey(@RequestBody BaseQo baseQo) throws Exception;

    @Operation(summary = "计数查询!{table.comment}")
    @RequestMapping(value = "/count.do", method = {RequestMethod.POST})
    @ResponseBody
    public Integer count(@RequestBody SysUserMpgtReq req);

}
